1. Technical Field
Aspects of the present invention relate to an Operating System (OS) image shrinking method, an OS image shrinking program, and a recording medium having an OS image shrinking program recorded thereon.
2. Description of the Related Art
An Operating System (OS) is necessary to start and execute an application program on a computer. The OS is a system widely used as basic software for providing basic functions such as an input and output function, a memory management function, and the like, commonly utilized by many pieces of application software and for providing application software with abstract interfaces representing hardware. A full set of Operating System files (OS files) with multiple functions are configured to give versatility to hardware and applications used by a user. Especially, recently, as computer functions make progress, there arises a demand for highly extensible Graphical User Interface (GUI) functions and high level and complicated management functions. Thus, functions required in the OS have increased to cause the size of the OS files to become quite large. Generally, the OS files are saved and used in a main memory (a main memory apparatus) or a hard disk (an auxiliary memory apparatus) included in the computer, and as the size of the OS becomes larger, a capacity required in the computer is becoming extremely large.
Japanese Patent Laid-Open No. H10-143356 (hereinafter “patent document 1”) and Japanese Patent Laid-Open No. H7-44397 (hereinafter “patent document 2”) suggest structures to shrink the size of the OS files stored and saved in the computer at all times (for example, page 14 and FIG. 11 of Patent Document 1 and page 4 and FIG. 1 of Patent Document 2).
Patent Document 1 discloses an information processing system. This information processing system employs a structure to save in the computer some of the OS files, among the multiple OS files constituting a full set of the OS, and record the other OS files in an external recording medium. For example, a kernel, a device manager (e.g., keyboard processing, display processing, mouse processing, IDE/network processing), a file manager, a memory manager, and a task manger, as an OS file group not affected by a system environment, are saved in the computer. On the other hand, a GUI manager, a kana-kanji conversion manager, a printer manager, font files, library files, and the like, as an OS file group basically not affected by the system environment, are recorded not in the computer, but in the recording medium.
When an application is executed, a determination is made as to whether the computer has all the OS files needed for operation of the application, and if the needed files are not saved in a computer side, then the needed files are loaded from the recording medium to the computer. For example, a printer manger is loaded if the application needs a printer.
According to this structure, the computer side holds only the minimum necessary OS files. Thus, the size of the OS can be made smaller in the computer.
Patent Document 2 discloses a program-processing speed-enhancement method.
In this program-processing speed-enhancement method, a measuring unit that measures the number of usages is embedded into a source program, so that the source program embedded with the measuring unit is generated. Then, the source program embedded with the measuring unit is compiled to generate an executable program. The executable program is provided with specific data and is caused to be executed, and the program measures whether or not each of the branching commands in the program has been executed and collects measurement values. The branching commands not having been executed are deleted, so that the source program from which the unnecessary branching commands have been deleted is obtained. With the method as described above, a source program optimized for the specific data is obtained.
That is, a universal program is customized to suit a specific user and a purpose of utilization, thus being able to enhance the speed of processing, and at the same time, being able to shrink the program by deleting unnecessary portions (the branching commands).
However, there exist problems that, among other things, the structure in Patent Document 1 hardly contributes to shrinking the size of the OS and actually places the same burden on the capacity of the computer as conventional structures.
For example, Patent Document 1 recites that library files are recorded in the recording medium and are loaded to the computer side, if necessary, during execution of the application. It is presumed that Patent Document 1 employs a structure wherein the library files are recorded in the recording medium because one application seldom uses all the features and functions included in the library files, but that the library files themselves are generally used by all applications, although their usage amounts vary. Accordingly, during execution of an application, it is almost always necessary to load the library files to the computer side. The same situation is also applicable to the other files, namely, the GUI manager, the kana-kanji conversion manager, the printer manager, and the font files.
Thus, after all, with the structure of Patent Document 1 that makes a determination as to whether or not reading-out is required in units of files, it is necessary to read the entire OS files, including unnecessary portions, from the recording medium into the computer side.
The device manager, the file manager, and the memory manager saved in the computer occupy a large portion of a computer memory at all times although one application does not need all of these functions.
Thus, during execution of an application, it is necessary to save all the OS files including the unnecessary portions in the computer, and in reality, performance required in the capacity of the computer stays the same.
On the other hand, there exists a problem in that, among other things, a structure of Patent Document 2 cannot be applied to the OS.
In Patent Document 2, specific data are given to a program (for example, the OS) and a determination is made as to whether branching commands in the program (for example, the OS) are required or not. But, in the OS, there exist many portions, such as an interruption processing, that are difficult to be determined by giving the specific data.
As a result, in a case where the structure of Patent Document 2 is employed in the OS, there exists an extremely high risk of deleting essentially necessary portions.
In addition, task scheduling and memory management functions do not rely on specific data, and it is highly possible that these functions would be deleted.
Because of the problems described above, and other problems not specifically described above, a structure is earnestly needed that reduces the burden placed on the capacity of the computer by appropriately shrinking the size of the OS.